Copyright(C) 1994,1995,1996,1997 Terumasa KODAKA , Takeshi KONO
■Power Management Controller
Target PC-9801NV/NS/E/NC
PC-9801NS/T/NL/NS/L/NA/NS/R/P/NX/C/NS/A/NL/R/NL/A
PC-9821Ne/Np/Ns/Ne2/Nd/Es/Ld/Lt/Nf/Nm
Explanation o The resume-enabled 98NOTE series is equipped with special
hardware to save various hardware settings that cannot normally be read. Most
hardware settings can be read through this power management controller.
o The power management controller is accessed through two-stage I/O.
There are also registers that can be read all related information at once by
reading them consecutively.
o Some desktop models also have models that control special hardware using the
same access method as the 98NOTE series.
I/O 08F0h
Name Power Management Controller [INDEX]
Undocumented
Function
[READ/WRITE]
Bit 15-0: Resume Controller Register
Explanation o Pairs with I/O 08F2h to perform two-stage I/O operations
Related I/O 08F2h
I/O 08F2h
Name Power management controller [DATA]
Undocumented
Function
[READ/WRITE]
Bit 15-0: Resume controller data input/output
----------------+---+----------------------------------------------
Register number |IND|
|R/W| EX| Contents
------------+---+---+------------------------------------------
0000h |R/W| | 2DD/2HD
| | | Bit 15-9: Unused
| | | Bit 8: EMTOM
| | | Bit 7-0: Unused
------------+---+---+----------------------------------------------
0001h | R | | Read master PIC setting information
| +---+----------------------------------------------
| | 0 | Bit 15-8: Unused
| | | Bit 7-0: Master PIC ICW1
| +---+----------------------------------------------
| | 1 | bit 15-8: Unused
| | | bit 7-0: ICW2 of master PIC
| +---+----------------------------------------------
| | 2 | bit 15-8: Unused
| | | bit 7-0: ICW3 of master PIC
| +---+----------------------------------------------
| | 3 | bit 15-8: Unused
| | | bit 7-0: ICW4 of master PIC
------------+---+---+----------------------------------------------
0002h | R | | Read configuration information of slave PIC
| +---+----------------------------------------------
| | 0 | bit 15-8: Unused
| | | bit 7-0: ICW1 of slave PIC
| +---+----------------------------------------------
| | 1 | bit 15-8: Unused
| | | bit 7-0: ICW2 of slave PIC
| +---+----------------------------------------------
| | 2 | bit 15-8: Unused
| | | bit 7-0: ICW3 of slave PIC
| +---+----------------------------------------------
| | 3 | bit 15-8: Unused
| | | bit 7-0: ICW4 of slave PIC
------------+---+---+----------------------------------------------
0003h | R | | Read USART settings (keyboard)
| +---+----------------------------------------------
| | 0 | bit 15-8: USART command set
| | | bit 7-0: USART command set
| +---+----------------------------------------------
| | 1 | bit 15-8: USART command set
| | | bit 7-0: USART command set
------------+---+---+----------------------------------------------
0004h | R | | Read USART settings (RS-232C)
| +---+----------------------------------------------
| | 0 | bit 15-8: USART command set
| | | bit 7-0: USART command set
| +---+----------------------------------------------
| | 1 | bit 15-8: USART command set
| | | bit 7-0: USART command set
------------+---+---+----------------------------------------------
0005h | R | | Read TCU setting
| +---+----------------------------------------------
| | 0 | bit 15-0: Counter #0 setting
| +---+----------------------------------------------
| | 1 | bit 15-0: Counter #1 setting
| +---+----------------------------------------------
| | 2 | bit 15-0: Counter #2 setting
| +---+----------------------------------------------
| | 3 | bit 15-0: Unused
------------+---+---+----------------------------------------------
0006h | R | | Read memory bank switching
| | | bit 15-8: Memory address (A23-A20)
| | | * Value to write to I/O 08E9h
| | | bit 7-5: Unused
| | | bit 4: 8,9 bank control
| | | 0 = Internal RAM selection
| | | 1 = Expansion slot selection
| | | bit 3-1: Unknown
| | | bit 0: B bank page frame
| | | 0 = VRAM
| | | 1 = EMS
| | | Related I/O 08E9h
| | | I/O 043Fh
------------+---+---+----------------------------------------------
0007h | R | | Unknown
| | | Related I/O 053Dh
------------+---+---+----------------------------------------------
0008h | R | | EMS page #0 map
| | | bit 15-8: Memory address (A23-A20)
| | | * Value to write to I/O 08E9h
| | | bit 7-0: EMS page #0 (C0000h) selection
| | | * Value to write to I/O 08E1h
------------+---+---+----------------------------------------------
0009h | R | | EMS page #1 map
| | | bits 15-8: Memory address (A23-A20)
| | | * Value to write to I/O 08E9h
| | | bits 7-0: EMS page #1 (C4000h) selection
| | | * Value to write to I/O 08E3h
------------+---+---+----------------------------------------------
000Ah | R | | EMS page #2 map
| | | bit15-8: Memory address (A23-A20)
| | | * Value to write to I/O 08E9h
| | | bit 7-0: Select EMS page #1 (C8000h)
| | | * Value to write to I/O 08E5h
------------+---+---+----------------------------------------------
000Bh | R | | EMS page #3 map
| | | bit15-8: Memory address (A23-A20)
| | | * Value to write to I/O 08E9h
| | | bit 7-0: Select EMS page #3 (CC000h)
| | | * Value to write to I/O 08E7h
------------+---+---+----------------------------------------------
000Ch | R | | Read card switch
| | | bits 15-8: Unused
| | | bits 7-0: Card switch information
------------+---+---+----------------------------------------------
000Dh | R | | Calendar clock IC
| | | bits 15-8: Value sent to calendar clock IC (I/O port 20h)
| | | bits 7-0: Unused
------------+---+---+----------------------------------------------
0010h |R/W| | Unknown
------------+---+---+----------------------------------------------
0011h | R | | Read text GDC setting information
| +---+----------------------------------------------
| |0-3|SYNC parameters
| | 4 |PITCH parameters
| |5,6|CSRFORM parameters
| |7~14|SCROLL parameters
------------+---+---+----------------------------------------------
0012h | R | | Read graphic mode F/F settings
| +---+----------------------------------------------
| | 0 | bit 15-11: Unused?
| | | bit 10: Drawing surface
| | | 0 = Front side drawing
| | | 1 = Back side drawing
| | | bit 9: Display surface
| | | 0 = Front side display
| | | 1 = Back side display
| | | bit 8: Unused?
| | | bit 7: DISP ENABLE
| | | 0 = Display OFF
| | | 1 = Display ON
| | | bit 6: MVMW PERMIT
| | | 0 = INHIBIT
| | | 1 = PERMIT
| | | bit 5: KAC mode
| | | 0 = Code access
| | | 1 = Bitmap
| | | bit 4: GRP Mode
| | | 0 = Dedicated high resolution 400 lines, standard resolution
| | | 1 = Dedicated high resolution display with 200 lines
| | | Used in mode graph
| | | bit 3: FONT SEL
| | | 0 = 6x8 dots
| | | 1 = 7x13 dots
| | | bit 2: Column WIDTH
| | | 0 = 80 character mode
| | | 1 = 40 character mode
| | | bit 1: GRAPHIC Mode
| | | 0 = Color graphic mode
| | | 1 = Monochrome graphic mode
| | | bit 0: ATR7SEL
| | | 0 = ATR7 is vertical line
| | | 1 = ATR7 is simple graph
| +---+----------------------------------------------
| | 1 | bit 15-11: Unused?
| | | bit 10: Mode F/F change
| | | 0 = Prohibited
| | | 1 = Enable
| | | bit 9,8: Unused?
| | | bit 7: G-GDC slave
| | | 0 = Slave
| | | 1 = Master
| | | bit 6: GDC clock #1
| | | 0 = 2.5MHz
| | | 1 = 5.0MHz
| | | bit 5: GDC clock #0
| | | 0 = 2.5MHz
| | | 1 = 5.0MHz
| | | bit 4: Unused?
| | | bit 3: 1 dot feed
| | | 0 = No
| | | 1 = Yes
| | | bit 2: CRT/Plasma
| | | 0 = CRT mode
| | | 1 = Plasma display/LCD mode
| | | bit 1: EGC mode
| | | 0 = GRCG compatible mode
| | | 1 = EGC extended mode
| | | bit 0: Analog graphics mode
| | | 0 = 8 color mode
| | | 1 = 16 color mode
------------+---+---+----------------------------------------------
0013h | R | | Read graphic palette
| +---+----------------------------------------------
| | 0 | bit 15: Unused
| | | bit 14-12: 8-color mode palette register #0
| | | bit 11: Unused
| | | bit 10-8: 8-color mode palette register #4
| | | bit 7: Unused
| | | bit 6-4: 8-color mode palette register #2
| | | bit 3: Unused
| | | bit 2-0: 8-color mode palette register #6
| +---+----------------------------------------------
| | 1 | bit 15: Unused
| | | bit 14-12: 8-color mode palette register #1
| | | bit 11: Unused
| | | bit 10-8: 8-color mode palette register #5
| | | bit 7: Unused
| | | bit 6-4: 8-color mode palette register #3
| | | bit 3: Unused
| | | bit 2-0: 8-color mode palette register #7
| +---+----------------------------------------------
| | 2 | bit 15-12: Unused
| | | bit 11-8: Blue brightness of 16-color mode palette #0
| | | bit 7-4: Red brightness of 16-color mode palette #0
| | | bit 3-0: Green brightness of 16-color mode palette #0
| +---+----------------------------------------------
| | 3 | bit 15-12: Unused
| | | bit 11-8: Blue brightness of 16-color mode palette #1
| | | bit 7-4: Red brightness of 16-color mode palette #1
| | | bit 3-0: Green brightness of 16-color mode palette #1
| +---+----------------------------------------------
| |4~16| Same as above
| +---+----------------------------------------------
| | 17| bit 15-12: Unused
| | | bit 11-8: Blue brightness of 16-color mode palette #15
| | | bit 7-4: Red brightness of 16-color mode palette #15
| | | bit 3-0: Green brightness of 16-color mode palette #15
| +---+----------------------------------------------
| | 18| bit 15-8: Unused
| | | bit 7: 0
| | | bit 6-4: Border color (006Ch)
| | | bit 3-0: Last set to I/O port 00A8h
| | | Palette number
------------+---+---+----------------------------------------------
0014h |R/W| | Read GRCG read register
| +---+----------------------------------------------
| | 0 | bit 15-10: Unused
| | | bit 9,8: Tile pattern register counter
| | | 00b = Register #0
| | | 01b = Register #1
| | | 10b = Register #2
| | | 11b = Register #3
| | | * Indicates the number of the next register to write
| | | Related I/O 007Eh
| | | bit 7: CGW
| | | bit 6: RMW
| | | bit 5,4: Unused
| | | bit 3-0: PE3-0
| | | * Read GRCG control register.
| | | Related I/O 007Ch
| +---+----------------------------------------------
| | 1 | bit 15-8: Unused
| | | bit 7-0: Tile pattern register #0
| | | Related I/O 007Eh
| +---+----------------------------------------------
| | 2 | bit 15-8: Unused
| | | bit 7-0: Tile pattern register #1
| | | Related I/O 007Eh
| +---+----------------------------------------------
| | 3 | bit 15-8: Unused
| | | bit 7-0: Tile pattern register #2
| | | Related I/O 007Eh
| +---+----------------------------------------------
| | 4 | bit 15-8: Unused
| | | bit 7-0: Tile pattern register #3
| | | Related I/O 007Eh
------------+---+---+----------------------------------------------
0015h | W | | Unknown
| | | bit 15-13: Unused
| | | bit 12-8: Unknown
| | | bit 7: Unused
| | | bit 6-4: Unknown
| | | bit 3: Unused
| | | bit 2-0: Unknown
| | | * VRAM related
------------+---+---+----------------------------------------------
0016h | W | | Clock generator program mask
| | | ■[PC-9821Bp, Bs, Be, Bf, Xt, Xa, Xn, Xp, Xs, Xe,
| | | PC-9801BX2, BS2, BA2, BA3, BX3, BX4, NS/A]
| | | bit 15-1: Unused? (set to 0)
| | | bit 0: Mask
| | | 1 = Masked
| | | 0 = Not masked
| | | * Disable/enable the dot clock generation PLL synthesizer program
------------+---+---+----------------------------------------------
0020h | R | | Read graphic display status
| | | bit 15-8: Unused
| | | bit 7: Graphic screen display
| | | 0 = Display stopped
| | | 1 = Displayed
| | | bit 6-0: Unused
------------+---+---+----------------------------------------------
0030h | R | | Unknown
------------+---+---+----------------------------------------------
0031h | R | | Read graphic GDC SYNC parameters
------------+---+---+----------------------------------------------
0032h | R | | Read graphic GDC ZOOM parameters
------------+---+---+----------------------------------------------
0033h | R | | Read graphic GDC CSRFORM parameters
------------+---+---+----------------------------------------------
0034h | R | | Read graphic GDC PITCH parameters
------------+---+---+----------------------------------------------
0035h | R | | Read graphic GDC VECTW parameters
------------+---+---+----------------------------------------------
0036h | R | | Read graphic GDC SCROLL parameters
------------+---+---+----------------------------------------------
0037h | R | | Read graphic GDC WRITE parameters
------------+---+---+----------------------------------------------
0038h | R | | Read graphic GDC command
| | | bit 15-8: Unused?
| | | bit 7-0: Last command byte sent to G-GDC
------------+---+---+----------------------------------------------
0040h | R | | Unknown
------------+---+---+----------------------------------------------
0041h | R | | Read various flags
| | | bit 15-13: Unused
| | | bit 12: Becomes 1 when [CTRL]+[GRPH]+[HELP] are pressed
| | | bit 11: Return from power save mode
| | | bit 10: Unknown
| | | bit 9: SMI request flag■[PC-9801NS/R and later]
| | | bit 8: Unknown
| | | bit 7: Unused
| | | bit 6: SMI request flag■[PC-9801NS/T]
| | | bit 5: Unknown
| | | bit 4: Unused
| | | bit 3: POWER button or LCD panel switch
| | | bit 2: Unused
| | | bit 1: Unknown
| | | bit 0: SMI request flag ■ [PC-9801NS/R and later]
------------+---+---+----------------------------------------------
0044h | | | Various flags
+---+---+----------------------------------------------
| R | | bit 15,14: LCD panel related
| | | 00b = LCD panel is open
| | | 01b = LCD panel is open
| | | 10b = LCD panel is open
| | | 11b = LCD panel is closed
| | | bit 13-0: Unknown
+---+---+----------------------------------------------
| W | | bit 15-11: Unknown
| | | bit 10: Power off processing
| | | 0 = Do not turn off power (normal)
| | | 1 = Turn off power
| | | bit 9: Unknown
| | | 0 = Outside the notebook menu
| | | 1 = In the Note menu
| | | bit 8-0: Unknown
------------+---+---+----------------------------------------------
0045h | W | | Timer clear
| | | bit 15-2: Unknown
| | | bit 1: LCD light timer clear
| | | 1 = Clear
| | | 0 = Do not clear
| | | bit 0: Automatic power save timer clear
| | | 1 = Clear
| | | 0 = Do not clear
| | | Related INT 1Fh - Function 9E04h
------------+---+---+----------------------------------------------
0046h- | R | | Unknown
0048h | | |
------------+---+---+----------------------------------------------
0047h |R/W| | Unknown
0048h | | | Unknown
------------+---+---+----------------------------------------------
0050h | W | | Power saving timer setting
| | | bit 15: Timer enabled
| | | 1 = Enable
| | | 0 = Disable
| | | bit 14,13: Timer period setting
| | | 11b = Unknown
| | | 10b = 1 minute
| | | 01b = 1 second
| | | 00b = 100 ms
| | | bit 12-8: Unused (set to 00000b)
| | | bit 7-0: Timer setting value
| | | * Depends on the period set by bit 14,13
------------+---+---+----------------------------------------------
0052h |R/W| | Various LCD related settings
| | | bit 15-9: Unknown
| | | bit 8: LCD display
| | | 1 = OFF
| | | 0 = ON
| | | bit 7: LCD light
| | | 1 = ON
| | | 0 = OFF
| | | bit 8: Unused
| | | bit 6-1: Standby mode timer setting
| | | * Minutes
| | | bit 0: Standby mode setting
| | | 1 = Enabled
| | | 0 = Disabled
------------+---+---+----------------------------------------------
0054h |R/W| | Unknown
------------+---+---+----------------------------------------------
0056h |R/W| | Power supply control for RS-232C driver/receiver
| | | bit 15-8: Unused
| | | bit 7-1: Unknown
| | | bit 0: Power supply to RS-232C
| | | 1 = Provided
| | | 0 = Not provided
------------+---+---+---------------------------------------
0057h |R/W| | Unknown
------------+---+---+---------------------------------------
■[PC-9801NS/T only]
------------+---+---+----------------------------------------------
F000h |R/W| | CPU operating clock setting
| | | bit 15-0: Operating clock
| | | A000h = Maximum speed
| | | A610h = Power saving mode
| | | A620h = V30 mode
| | | A630h = Unused (lowest speed with this setting)
------------+---+---+----------------------------------------------
F002h | R | | Unknown
F004h | R | | Unknown
F006h | R | | Unknown
------------+---+---+----------------------------------------------
F008h |R/W| | 512K-640K space separation setting
| | | bit 15-0: Separation setting
| | | 0000h = Do not disconnect 512K to 640K
| | | 0003h = Disconnect 512K to 640K
------------+---+---+----------------------------------------------
F00Ah | W | | Unknown
| | | bit 15-10: Unknown
| | | bit 9: Power off
| | | 0 = Do not power off
| | | 1 = Power off
------------+---+---+----------------------------------------------
F00Ch | R | |
F00Dh | R | | Unknown
------------+---+---+----------------------------------------------
F00Eh |R/W| | SMRAM mapping control
| | | bit 15-0: Mapping control
| | | 0000h = Do not map SMRAM
| | | 0008h = Map SMRAM
------------+---+---+----------------------------------------------
F010h | R | | Unknown
F201h | R | | Unknown
F202h | R | | Unknown
F204h | R | | Unknown
F208h | R | | Unknown
F20Ch | R | | Unknown
F20Eh | R | | Unknown
F300h | R | | Unknown
F302h | R | | Unknown
F400h | R | | Unknown
F401h | R | | Unknown
F402h | R | | Unknown
F404h | R | | Unknown
F406h | R | | Unknown
F408h | R | | Unknown
F409h | R | | Unknown
------------+---+---+----------------------------------------------
F40Ah |R/W| | Dedicated additional memory registration
| | | bit 15-0: Dedicated additional memory capacity
| | | 0113h = No dedicated additional memory
| | | 3333h = 6MB of dedicated additional memory
| | | 0133h = 2MB of dedicated additional memory
| | | 0113h = Undefined
------------+---+---+----------------------------------------------
F40Ch | R | | CPU ID signature
| | | bit 15-0: CPU ID
| | | 5300h = i386SL(98) identification
| | | * This value is fixed
------------+---+---+----------------------------------------------
F40Eh | R | | Unknown
F40Fh | R | | Unknown
------------+---+---+----------------------------------------------
Description o Accesses the register of the power management controller specified by I/O 08F0h.
Related I/O 08F0h